home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
ASME's Mechanical Engine…ing Toolkit 1997 December
/
ASME's Mechanical Engineering Toolkit 1997 December.iso
/
win_eng
/
atre27.exe
/
ATREE_27
/
HISTORY.TXT
< prev
next >
Wrap
Text File
|
1992-08-01
|
8KB
|
189 lines
Atree release 2.7
~~~~~~~~~~~~~~~~~
Changes in 2.7:
- Got rid of LFBATCH.EXE, allow LFEDIT.EXE to process and run
large files, just not edit them. This is because a Windows 3.1
multiline edit control can only handle about 48K of text.
Building my own editor to handle larger files is beyond the
purpose of the atree package. (This limitation should disappear
in Windows NT, since it uses flat 32bit memory model.)
- Now use comman dialogs in LFEDIT.EXE. This should work under
Windows 3.0 as well, since I've included commdlg.dll with the
package.
- Fixed some display bugs and exit problems in the OCR demo.
- Used Borland C++ 3.1 for compilation with full speed
optimizations in the Windows IDE. Nice product, BC++ 3.1! If
we release another version of this demo software, it'll be for
Windows 3.1 only, and probably 386 or better only. Which means
we can gain additional optimizations and speed increases.
- Fixed some documentation errors in atree.hlp, and added a more
indepth explanation of the training algorithm.
- Finally had the time to really figure out Program Manager DDE,
so now setup.exe installs the appropriate icons and nice icon
titles.
Changes in 2.6:
- Moved all documentation into atree.hlp. Documentation updated
and clarified. New introduction section.
- Fixed small bug in atree_train relating to getting rid of Status
box when Cancel was pressed.
- Redid the OCR demo. Now you can draw your own characters.
Added rotation and translation to make it an authentic OCR demo.
It is very impressive! Although training time can be longer,
since we are trainingh on 3 characters instead of 1.
Changes in 2.51:
- Added a setup program to add Program Manager groups.
Changes in 2.5:
- Big new addition: A character recognition demo that recognizes
the letter S in extreme noise, and is able to differentiate
between a noisy S and a noisy 5. Training is very fast, about
15-20 minutes, compared to days for a backprop net on similar
hardware.
- Removed memory mangement routines we wrote for 2.0, now use the
Borland C++ 3.0 memory management routines, which are about a
zillion times faster. So, no more waiting for encoding
building; should take at most a minute on VERY large problems.
- Reworked a lot of the I/O routines that are now more compatible
with the UNIX version, again due to improved Windows support in
BC++ 3.0.
- Fixed bug in reading in boolean encodings; it used to set high
and low to 1.0 and 0.0 automatically, but now preserves high and
low as specified in the training set. After all -1 and 1, or 100
and 0 are just as valid representations of the two boolean
states as 1 or 0.
- Fixed bug in boolean bit vector memory allocation.
- The atree Status Window is MUCH improved, and no longer is ill
behaved. Now has a cancel button! Now you don't have to exit
out of the program to stop training!
- LF rewritten to only keep one tree in memory at a time during
training, and only _voter_ number of trees in memory during
evaluation. Evaluation is done using fast trees.
- The parser code for LF has been changed dramatically to allow it
to be well behaved under Windows. It was not re-entrant before,
and caused all kinds of problems if you tried to run a buggy
program twice from the same session of LFEDIT.
- LFEDIT will now highlight parse errors in the edit window.
- Renamed LF.EXE to LFBATCH.EXE to differentiate it better from
LFEDIT.EXE.
- Added Lf Status Dialog to track progress of train set building
and test set evaluation. Has cancel button enabled during test
evaluation.
- LF improved semantically. Added 4 example files that show how
to use every lf language feature, with documentation.
- Removed sphere.lf. Just too darn big.
- Added abs_sine.lf. Learning the absolute value of sine is
something backprop has trouble with.
- Runs well under Windows 3.1, and I haven't had a UAE or GPF in
days. Testing has been a lot more extensive for this product.
Changes in 2.0:
- Added several new functions to the atree library, including tree
and coding I/O, see atree.h.
- The atree structures have been totally revamped, and now can fit
into 12 bytes (for nodes) and 4 bytes (for leaves).
- atree_train() has been changed to present the whole training set
during one epoch, although in a shuffled form. Before, we just
randomly picked vectors out of the training set, leaving the
possiblity of a large number of vectors not being presented
during an epoch. Also, we check our estimate of success after
adaptation against the whole training set (with no adaptation)
to give the ACTUAL number correct. This step only occurs when
training has reached the maximum allowed number of epochs, or
when the estimator indicates the tree has gotten the necessary
amount of vectors correct. If the actual is lower than the
estimate, we keep training for another epoch, up until the
maximum number of epochs has been reached.
- Memory allocation for trees now the same as for bit vectors (and
every other dynamically allocated object!): the WinMem_Malloc
routine is used! Thanks to Rolf Manderschied for coming up with
a better build_tree! Trees are now allocated from free lists,
and are returned to the free lists when destroyed.
- Changed the multiplexor function in mult.exe: can now specify
the number of control bits at compile time.
- Because of the C library I/O routines, the atree library is no
longer in a .DLL. Instead, atree.c must be compiled into
applications. Sorry! But I didn't feel like rewriting the
whole standard C I/O library to index data by the data segment
only, instead of the stack segment (in .DLL's, ds != ss).
- As a result of the above, applications need no longer include
every atree library function in the IMPORTS section of their
.def files. However, you DO need to include VERBOSITYWNDPROC in
the EXPORTS section, along with whatever other Window Procedures
your application is exporting.
- Improvements to the atree Status window (verbosity output). It
doesn't hang around after training is finished. It flickers
quite noticeably, though, when calls to atree_train() occur
rapidly! If anyone has a better idea... let me know!
- Documentation updated.
- I still don't know how atree.c compiles with Microsoft C... can
anyone doing this please contact me?
Changes in 1.2:
- Redid atree_train verbosity output, no longer have to click
after every epoch - scrolling window flaky when training two
trees simultaneously (because of storage of strings in global
variables - a quick fix, to be sure, but much better than the
old MessageBoxes!)
- Mult.exe is not a two-bit multiplexor, it's a three-bit
multiplexor! Boy, do I feel embarrased! 2^11 elements in
domain, instead of 2^6, which means that it is a lot harder
problem than I thought, and would explain the longer training
times than one would expect from a two-bit multiplexor.
- minor macro name changes to keep Dr. Armstrong happy.
Changes in 1.1:
- Bug in atree_free() fixed, will free all subtrees now.
- Modified ????_flag assignments in build_tree() that caused flaky
learning if memory wasn't initialized to zero first.
- Mult.exe now has verbosity level 1, so it doesn't look like it's
just sitting there doing nothing.
-- END --